package myky.com.doctorapp.contract

import io.reactivex.Observable
import myky.com.doctorapp.base.BaseEntity
import myky.com.doctorapp.base.BaseView
import myky.com.doctorapp.entity.RemoteDetailsEntity
import myky.com.doctorapp.entity.RemoteRepeatEntity
import myky.com.doctorapp.entity.RemoteSupplyEntity

/**
 * Description:
 *
 * @author wuyangwuyang
 * Created by 2019/3/11 on 16:09
 */
interface RemoteDetailsActivityContract {
    interface Model
    {
        fun remoteDetail(remoteId:String):Observable<BaseEntity<RemoteDetailsEntity.PayLoadBean>>
        fun remoteCancel(remoteId:String):Observable<BaseEntity<RemoteRepeatEntity.PayLoadBean>>
        fun remoteSupply(remoteId:String, remoteSupplyEntity: RemoteSupplyEntity):Observable<BaseEntity<RemoteRepeatEntity.PayLoadBean>>
    }

    interface View:BaseView<RemoteDetailsEntity.PayLoadBean>{

       fun cancelResult(remoteBean:RemoteRepeatEntity.PayLoadBean)
       fun suppltyResult(remoteBean:RemoteRepeatEntity.PayLoadBean)
    }

    interface Presenter{

        fun premoteDetail(remoteId: String)
        fun pcancelResult(remoteId: String)
        fun premoteSupply(remoteId: String, remoteSupplyEntity: RemoteSupplyEntity)
    }
}
